The present invention relates generally to semiconductor microprocessors, to a class of microprocessors known as microcontrollers which perform a broad spectrum of control functions, and more particularly to CMOS semiconductor microcontrollers with on-chip analog to digital conversion capability.
The evolution of microprocessors into complex instruments and machines has led to sophisticated, fast realtime control capability. Large microprocessors of 16 or 32 bit capability with associated interrupt handler chips, programmable timer chips, ROM and RAM chips, have been replaced in many control function instances by single chip microcontrollers with all peripherals embedded on the same chip with the microcontroller. Operation of the chip in an expanded mode enhances the versatility of all on-chip features. Microcontrollers are used in a wide diversity of present-day applications, with new applications found almost daily. In hand-held instruments such as tiny pocket-sized pagers, the microcontroller is responsive to received characters to interpret them, produce an audible signal to notify the user of an incoming message (or not if the user prefers an inaudible mode), and produce multiple messages among the several last of those received on a suitable display, typically an LCD. The microcontroller can also recall from its internal memory any or all of the messages received in a given period of time. Among its other instrumentation uses are those as meters and testers, capable of carrying out thousands of tests, each in a millisecond or less.
Other applications include keyboard controllers for personal computers, in which the microcontroller serves to offload many tasks formerly handled by the processor, including continuous performance of numerous diagnostic procedures and notification to the processor if a problem is detected. Among other personal computer applications, microcontrollers are used in modems for command interpretation and data transmission, in printer buffers for high speed dumping of data in preparation for driving the printer at the appropriate speed, or for color plotters, in color copiers, electronic typewriters, cable television terminal equipment, lawn sprinkling controllers, credit card phone equipment, automotive applications such as engine control modules, antilock braking systems, automobile suspension control for desired designation of ride softness or rigidity according to user preference, and a host of other applications daily by industrial and consumer customers.
A real time microcontroller provides rapid solutions to signal processing algorithms and other numerically intensive computations, controls events such as opening and closing of relays, the position and speed of a motor, and other control functions such as those mentioned above. The central processing unit (CPU) of the microcontroller operates in conjunction with certain peripherals to perform the control function, including devices such as timers, signal ports, and baud rate generators, among others.
The present invention is part of an enhancement of an 8-bit user programmable reduced instruction set computer (RISC-type) microcontroller family manufactured and marketed by Microchip Technology incorporated of Chandler, Ariz. (assignee of this application) as its PIC.RTM.16C5X family of CMOS (complementary metal-oxide-silicon) EPROM (electrically programmable read-only memory)-based microcontrollers. The enhanced user-programmable single chip device addresses the burgeoning number of embedded control applications requiring economical analog sensing and control applications. The device includes the capability to perform analog-to-digital (A/D) conversion.
Analog to digital converters (ADCs) continually consume power during operation. Known microcontrollers employing ADCs generally exhibit relatively high power consumption as a result of current drain when in use. The lowest current consumption found in such devices is specified as 100 .mu.A.
It is a principal object of the present invention to provide apparatus and methods for efficiently deactivating or disabling all current consuming elements normally used for A/D conversions associated with performance of microcontroller functions, when such elements are not in use.